Black-Scholes equation
1973
原資産✖️正規分布の適当な範囲に収まる確率
$ C = S_0 N(d1)e^{-qt} - S_1N(d2)e^{-rt}
via 「ブラック・ショールズ式」を知っていますか? | あれか、これか ― 「本当の値打ち」を見抜くファイナンス理論入門 | ダイヤモンド・オンライン
ここで
C = コール・オプションの価値
S0 = 資産の現在の価格(given)
S_1 = 権利行使価格
r = リスクフリーレート(given)
q = 元資産の利回り
t = 満期までの時間(年単位)
N() = 標準正規分布の累積分布関数(given)
d1 = $ \ln\frac{S_0}{S_1} + \frac{(r + \sigma^2 / 2) t}{\sigma \sqrt{t}}
d2 = $ d1 - {\sigma \sqrt{t}}
σ ボラティリティ(given)
簡単にして意味を把握する
S1=S0, t=1, r=q=0とすると
S0(N(σ/2) - N(-σ/2))
σ=2とすると、カッコの中は標準正規分布で±1σの範囲に収まる確率となる
対称性からN(-σ/2) = 1 - N(σ/2)なので
標準正規分布 | 高校物理の備忘録
$ S_0(2N(σ/2) - 1)
https://www.nli-research.co.jp/report/detail/id=66660?mobileapp=1&site=nli
$ S_0(2N(1)-1)\sim0.68S_0
$ 2*CDF[NormalDistribution0,1,1]-1
https://www.wolframalpha.com/input?i=2*CDF%5BNormalDistribution%5B0%2C1%5D%2C1%5D-1&lang=ja
https://www.oreilly.com/library/view/reliability-engineering/9781118841792/bapp03.xhtml
GPT-4.icon
標準正規分布の累積分布関数(CDF)の表は、標準正規分布の確率を示しています。この表の軸は以下のようになります:
縦軸(または行): これはZスコアの整数部分または十の位を示しています。
Zスコアは、データポイントが平均からどれだけ離れているかを示す統計的測定です
標準正規分布では、平均は0で、標準偏差は1です。
横軸(または列): これはZスコアの小数部分または一の位を示しています。
https://www.jpx.co.jp/ose-toshijuku/column/futures_option/option/03.html
https://gyazo.com/2cffdd625ff27b9e1c54f8369f3a9f77
code:py
import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt
def black_scholes_call(S0, X, r, q, t, sigma):
d1 = (np.log(S0 / X) + (r - q + sigma**2 / 2) * t) / (sigma * np.sqrt(t))
d2 = d1 - sigma * np.sqrt(t)
call_price = S0 * np.exp(-q * t) * norm.cdf(d1) - X * np.exp(-r * t) * norm.cdf(d2)
return call_price
# Parameters
S0 = 15000 # asset price
X = 15500 # strike price
r = 0.0 # risk-free rate
q = 0.0 # yield on the underlying asset
t = 1.0/12 # time to expiration in years
# Create a range of volatilities
sigmas = np.arange(0.1, 0.4, 0.01)
# Calculate call option prices for each volatility
call_prices = black_scholes_call(S0, X, r, q, t, sigma) for sigma in sigmas
# Plot
plt.figure(figsize=(10, 6))
plt.plot(sigmas, call_prices, label='Call Option Price')
plt.xlabel('Volatility (σ)')
plt.ylabel('Call Option Price')
plt.title('Call Option Price vs. Volatility')
plt.legend()
plt.grid(True)
# Set y-axis ticks
max_price = max(call_prices)
plt.yticks(np.arange(0, max_price, 50))
plt.show()
GPT-4.iconに聞いたら微妙に間違えた式を出してきた
→経済数学の直観的方法
https://www.youtube.com/playlist?list=PLhDAH9aTfnxIhf-iRKYTVOSXPqDGgfRFP
のリスト
高校数学 + αぐらいで導出できる
ブラウン運動
確率微分方程式
伊藤の公式
伊藤積分